Générer des articles de contrôle signés

You will find in this page information about the use of the signcontrol.py script and its configuration file I wrote for Usenet hierarchy administrators to sign the control articles they send. It can also be used to manage PGP keys: generation, import, export, removal, and revokal. The script works on every platform on which Python and GnuPG are available (Windows, Linux, etc.). You only have to download and install Python and GnuPG. Then, edit the configuration file and modify its few variables to fit your installation. You can finally run the script and enjoy it!
More information can be found in the Usenet hierarchy administration FAQ.

Afin de gérer correctement une hiérarchie sur Usenet, des articles de contrôle doivent régulièrement être envoyés pour annoncer les créations et suppressions de groupes, ainsi que récapituler la liste officielle et à jour des groupes de la hiérarchie. Le script signcontrol.py que j'ai écrit en Python permet de facilement réaliser cela avec n'importe quel système d'exploitation où Python et GnuPG sont utilisables.

Installation

Téléchargez Python et GnuPG en prenant soin de noter le répertoire d'installation de ce dernier. Puis téléchargez le script signcontrol.py avec son fichier de configuration et éditez ce dernier fichier. Plusieurs variables sont à modifier :

Maintenant que tout est paramétré, vous pouvez lancer le script.

Utilisation

L'interface d'utilisation est normalement très simple et plutôt bien détaillée. Elle permet de générer les articles de contrôle pour la création d'un nouveau groupe ou son changement de statut/description, pour la suppression d'un groupe et pour le récapitulatif de la liste des groupes actuels.

Il vous est aussi possible de gérer vos clefs PGP. Si vous n'en avez actuellement pas, vous pouvez en générer une et l'utiliser immédiatement. Toutes les explications pour cela sont données lors de l'exécution du programme. Lisez bien tout ce qu'il dit !
Si vous avez déjà une clef PGP pour administrer votre hiérarchie Usenet, vous pouvez l'importer dans le programme.

Si vous possédez votre propre serveur de news, vous pouvez envoyer les articles de contrôle générés par le script (avec le serveur INN, la commande « inews -P -h < article.sig » peut par exemple être utilisée à cette fin). Autrement, il vous faudra trouver un serveur de news et voir avec son administrateur les modalités d'injection d'articles de contrôle.

Il est même possible d'appeler le script depuis d'autres scripts. Cela se fait très facilement. Par exemple :


#!/usr/bin/python3

import signcontrol

conf = signcontrol.read_configuration(signcontrol.CONFIGURATION_FILE)
checkgroups = signcontrol.read_checkgroups(conf["CHECKGROUPS_FILE"])

# Si le fichier ne contient que des noms de groupes, leur statut de
# modération et les descriptions seront interactivement demandés.
for groupe in open("liste-de-groupes-pour-ajout"):
    signcontrol.generate_newgroup(checkgroups, conf, groupe.rstrip())

# Si le fichier contient aussi les statuts de modération et les
# descriptions de chaque groupe, ces informations seront directement
# utilisées.
for groupe in open("liste-de-groupes-pour-ajout"):
    (nom, statut, descr) = groupe.split(' ', 2)
    signcontrol.generate_newgroup(
        checkgroups, conf, nom, statut, descr.rstrip()
    )

# Un exemple de suppression en masse.
for groupe in open("liste-de-groupes-pour-suppression"):
    signcontrol.generate_rmgroup(checkgroups, conf, groupe.rstrip())

 

On peut ainsi générer de manière aisée un grand nombre d'articles de contrôle ! Et si le statut ou la description ne sont pas fournies, le script vous les demandera interactivement. Un sixième argument (optionnel) à generate_newgroup et un quatrième argument (optionnel) à generate_rmgroup peuvent être utilisés pour indiquer un message différent de celui par défaut pour le corps des articles de contrôle générés.

Conseils

Je vous recommande vivement de lire intégralement la FAQ sur l'administration d'une hiérarchie Usenet. Il est notamment conseillé de posséder un site web d'administration sur lequel sont disponibles au moins le checkgroups actuel de votre hiérarchie et votre clef PGP. N'oubliez pas d'annoncer la création de votre hiérarchie sur news.admin.hierarchies !

 

↑ Retour au haut de cette page